約 2,991,298 件
https://w.atwiki.jp/arprojectfun/pages/42.html
サンプルプログラム 書籍「はじめての動画処理プログラミング」の6章の list602.cpp
https://w.atwiki.jp/arprojectfun/pages/58.html
SampleGrabberによりカメラからの入力をテクスチャとして貼り付けたスプライトを背景として、スプライトの前方に3Dのメッシュオブジェクトを配置するプログラムについて。 プログラム SVN の下記の場所にあります。 mripo/trunk/directx/D3DObjectInFrontOfTexture ポイントとなったところ 今回のプログラムは 「薬のXファイルを表示するプログラム」 mripo/trunk/directx/ShowXFile_main20100511 と、 「テクスチャとしてスプライトにカメラ画像を張り付けるプログラム」 mripo/trunk/directx/TextureFromSampleGrabber2 を組み合わせたものです。 作成に際してポイントとなったところを書いておきます。 スプライトオブジェクトはワールドトランスフォームに影響されない スプライトオブジェクトはワールドトランスフォーム(絶対座標変換)によって座標変換されることはありません。 スプライトを移動させる場合は、 pSprite- Draw(pTexture, rect, vec3Center, vec3Position,D3DCOLOR_ARGB(255,255,255,255)); のように、スプライトオブジェクトのもつ Draw メソッドの第4引数で座標を指定する必要があります。 スプライトの描画前にはZバッファを無効にしておく スプライトオブジェクトの描画前にはZバッファを無効にしておきましょう。 でないと、スプライトと3Dオブジェクトが同時に表示されません。 Zバッファの有効/無効を切り替えるときは、 LPDIRECT3DDEVICE9 オブジェクトの持っているSetRenderState()を使います。 例) Zバッファを無効にするとき pDevice- SetRenderState( D3DRS_ZENABLE, FALSE ); Zバッファを有効にするとき pDevice- SetRenderState( D3DRS_ZENABLE, TRUE );
https://w.atwiki.jp/arprojectfun/pages/24.html
Visual Studio を用いてプログラミングを行う場合は、DirectXを使う上で必要なWin32 APIに関する記述はテンプレートにより自動的に追加されるので、最小限理解が必要な部分のみ解説されたサイトを紹介する。 プロジェクトの作成参考サイト よく解らない解説宣言部解説 _tWinMain関数解説 MyRegisterClass関数解説 InitInstance関数解説 WndProc関数説明 About関数解説 追記情報とか プロジェクトの作成 Visual Studio を起動させる。 上部のメニューから [ファイル(F)] - [新規作成(N)] - [プロジェクト(P)... Ctrl+Shift+N] を選択する。 左の「プロジェクトの種類(P) 」から「Visual C++」を選択し、 右の「テンプレート(T) 」から「Win32 プロジェクト」を選択して 適当な「プロジェクト名(N) 」を記入した後、[OK]ボタンをクリックする。 「Win32 アプリケーションウィザード」というウィンドウが表示されるので、 何もせずに[完了]ボタンをクリックする。 プロジェクトの作成はこれで完了。 参考サイト DirectX を扱う上での最小限の知識はコチラで得られる。 はじめてのWindowsプログラム【目次】 - プログラム初心者による3Dゲーム制作勉強日記 - livedoor Blog(ブログ) 詳細な解説はコチラを参考にすると良いかも Win32 API入門 よく解らない解説 自分でも解らない部分が多いですが、一応解説を入れておきます。 「プロジェクト名.cpp」を開いてください。これがメインのファイルです。 それ以外は飾りです(ぇ 宣言部 #include "stdafx.h" #include "sample2.h" #define MAX_LOADSTRING 100 // グローバル変数 HINSTANCE hInst;// 現在のインターフェイス TCHAR szTitle[MAX_LOADSTRING];// タイトル バーのテキスト TCHAR szWindowClass[MAX_LOADSTRING];// メイン ウィンドウ クラス名 // このコード モジュールに含まれる関数の宣言を転送します ATOMMyRegisterClass(HINSTANCE hInstance); BOOLInitInstance(HINSTANCE, int); LRESULT CALLBACKWndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACKAbout(HWND, UINT, WPARAM, LPARAM); 解説 変数宣言とプロトタイプ宣言です。見たこと無い型がいっぱいですが、#defineで定義したものなので気にしなくて良いです。 気になる方は型で右クリックで「定義へ移動」をクリックして、確認してください。 _tWinMain関数 int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // TODO ここにコードを挿入してください。 MSG msg; HACCEL hAccelTable; // グローバル文字列を初期化しています。 LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_SAMPLE2, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // アプリケーションの初期化を実行します if (!InitInstance (hInstance, nCmdShow)) { return FALSE; } hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_SAMPLE2)); // メイン メッセージ ループ while (GetMessage( msg, NULL, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, msg)) { TranslateMessage( msg); DispatchMessage( msg); } } return (int) msg.wParam; } 解説 メインループです。一番最初にこれを読み込みます。int main()やvoid main()などと同じです。 引数がたくさんありますが、Windowsプログラミングではこれが標準の引数です。 最初の方は変数宣言だったり、ウィンドウクラスの設定だったりします。 一番大事なところは、「メイン メッセージ ループ」というところです。 ウィンドウからのイベントやメッセージを受け取ります。 そのあと、登録したコールバック関数によって処理することが出来ます。 Windowsプログラムのメインは ウィンドウ監視 → 何かあったらメッセージが伝えられる → それを元にコールバック関数で制御 ってな感じの流れになってます。(違ったらごめんw) コールバック関数については下のほうで定義します。 MyRegisterClass関数 // // 関数 MyRegisterClass() // // 目的 ウィンドウ クラスを登録します。 // // コメント // // この関数および使い方は、 RegisterClassEx 関数が追加された // Windows 95 より前の Win32 システムと互換させる場合にのみ必要です。 // アプリケーションが、関連付けられた // 正しい形式の小さいアイコンを取得できるようにするには、 // この関数を呼び出してください。 // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style= CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc= WndProc; wcex.cbClsExtra= 0; wcex.cbWndExtra= 0; wcex.hInstance= hInstance; wcex.hIcon= LoadIcon(hInstance, MAKEINTRESOURCE(IDI_SAMPLE2)); wcex.hCursor= LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground= (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName= MAKEINTRESOURCE(IDC_SAMPLE2); wcex.lpszClassName= szWindowClass; wcex.hIconSm= LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); return RegisterClassEx( wcex); } 解説 使用するウィンドウ情報を登録する関数。ウィンドウを作るには情報の登録が必要です。 ここで、ウィンドウのスタイルやアイコンコールバック関数の登録などを行います。 この辺はテンプレなのでいじらない場合はこのままでも構いません。 InitInstance関数 // // 関数 InitInstance(HINSTANCE, int) // // 目的 インスタンス ハンドルを保存して、メイン ウィンドウを作成します。 // // コメント // // この関数で、グローバル変数でインスタンス ハンドルを保存し、 // メイン プログラム ウィンドウを作成および表示します。 // BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hInst = hInstance; // グローバル変数にインスタンス処理を格納します。 hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if (!hWnd) { return FALSE; } ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; } 解説 登録したウィンドウ情報を元にウィンドウを生成する関数。 先程設定したウィンドウの情報を元にウィンドウを作成します。 CreateWindow関数でウィンドウを作り、ShowWindowでウィンドウを可視化します。 詳しい関数の説明はリファレンス等見てください。 WndProc関数 // // 関数 WndProc(HWND, UINT, WPARAM, LPARAM) // // 目的 メイン ウィンドウのメッセージを処理します。 // // WM_COMMAND- アプリケーション メニューの処理 // WM_PAINT- メイン ウィンドウの描画 // WM_DESTROY- 中止メッセージを表示して戻る // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; switch (message) { case WM_COMMAND wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // 選択されたメニューの解析 switch (wmId) { case IDM_ABOUT DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT DestroyWindow(hWnd); break; default return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_PAINT hdc = BeginPaint(hWnd, ps); // TODO 描画コードをここに追加してください... EndPaint(hWnd, ps); break; case WM_DESTROY PostQuitMessage(0); break; default return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } 説明 コールバック関数です。 ウィンドウから送られてきたメッセージを処理します。 例えば、「右上の×印を押されたときの処理は~しろ。」とか、「ボタン1が押されたときは~」って処理は此処に書きます。 詳しい説明は端折ります。 About関数 // バージョン情報ボックスのメッセージ ハンドラです。 INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG return (INT_PTR)TRUE; case WM_COMMAND if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; } break; } return (INT_PTR)FALSE; } 解説 バージョン情報を開いた時のコールバック関数。 おそらく、バージョン情報を開いたときに、コールバック関数を入れ替えてると思われ。 追記情報とか 勝手に追加しちゃいました。迷惑でしたら、言ってください。 -- 村山 (2010-02-15 08 55 00) そんなことないですよ。追記ありがとうございます、助かりました -- 荒川 (2010-02-15 08 59 49) 名前 コメント
https://w.atwiki.jp/arprojectfun/pages/14.html
冬休み中にやった実験のまとめ 研究室からGPSを借りて、冬休み中に簡単に距離を計測した物のまとめである。 まず、函館の下宿からGPSを3時間ほど放置して、絶対座標を求めた。このrawデータは添付資料「GPSデータ(函館).csv」に記録されている。 こ れらの緯度経度の平均をとって、特定の座標をだした。同様に帯広でも同じように座標をとってやった。帯広での計測時間は1時間半であった。このデータも添 付資料「GPSデータ(帯広).csv」に乗っけておいた。中央値や、外れ値を除いたものをとってやっともいいと思う。暇があったら、ヒストグラムや正規 分布も作ってみる。 上記の結果から、球面三角法を用いて2点間の距離を求めた。詳しくは参考資料の「球面三角法」を参考。地球が半径Rの球、発着点の(緯度,経度)を(φ1,λ1)、終着点を(φ2,λ2)として、球面上で余弦定理をした。用いた式は以下の通り、 X = Arcos( sin(φ1) sin(ϕ2) + cos(ϕ1) cos(ϕ2) cos(λ2 - λ1) ) [rad]L = RX [km] 地球の半径を6356.752km、函館の緯度、経度を(0.729546824484331,2.45678625486799) 帯広の緯度、経度を(0.748838760791503,2.49958326980405)として、求めた結果が、 235.48330328530300kmとなった。 実際の距離は測っていないが、地図帳で計測した結果、250km位だったので、妥当な値ではないかと思う。 また、誤差をけいそくするため、rawデータから適当な値を入れて計測したが、誤差は10m未満まで抑えられることがわかった。 これらの計測結果は添付資料「距離計算.ods」にのっけておいた。自由に改変して構わないので各自いじってみること。 今後の課題は実際にリアルタイムで計測したいが、GPSのSDKが手にはいらないため難しい。 GPSロガーなどで計測したものから、マップや地図上への座標変換などできることが望ましいといえる。 最終的には3D 上でカメラやビューポートなどに反映できることが良い。 ここのページ編集がめんどくさい…wikiが欲しいな。 【追記:2010/01/10】 GPSデータをグラフにしてまとめたものをアップして起きました。 あと、最頻値や中央値も求めておきました。205は僕の部屋で206は隣の友人の部屋です。 206と205の部屋の距離は大体3mくらいです。また、206のデータに付いてはサンプリング数が少ないので、もう少し集めたいと思っています。 GPSをいじっていてわかったのですが、やっぱりサンプリングが多くないと正確な値は求められそうにないです。 最頻値と中央値では30mもの差が出てしまいました。誤差が少なくても20m強位は差が出てしまいました。 しかし、これはGPSでの精度の差になるので、もう少し良いGPSだともっと良いデータが取れるのではないかと思います。 参考資料 球面三角法 - [pdf] http //www.astro.sci.yamaguchi-u.ac.jp/~kenta/eclipse/SphericalTriangle081106.pdf 添付資料 GPSデータ: 帯広(東4条24丁目) GPSデータ(帯広).csv 函館(本通り1丁目) GPSデータ(函館).csv 距離計測データ: 距離計算.ods 追記データ:2010/01/10 GPSデータグラフ 下宿205.ods 下宿206.ods 距離計測データ: 距離計測.ods
https://w.atwiki.jp/arprojectfun/pages/19.html
みんなの疑問が解消されるページを目指して。 Q.WiiYourselfのビルドがうまくいかないのですが誰か分かる人いませんか?(加藤)A.インクルードフォルダの優先順位の問題です。(村山) Q.DirectX SDKのバージョンはどれを使っていますか?(荒川)A.DirectX SDK(November 2008)を使用しています。(村山) Q.WiiYourselfのビルドがうまくいかないのですが誰か分かる人いませんか?(加藤) 参考書籍のWiiRemoteプログラミングを使って作業してます。WiiYourself!1.01a をダウンロードし、 デモを動かすところまで出来たのですが、Visual Studioでビルドしようとすると、microsoft visual studio 9.0 の中にあるctype.h と excpt.h で構文エラーが起こり、ビルドできません。変更したくてもアクセス拒否されてしまい、 直すことも出来ません。誰か分かる人がいればぜひ教えてください。 ページは216からです。 A.インクルードフォルダの優先順位の問題です。(村山) 僕の環境でも、同様なエラーが起こりました。以下解決方法です 同名のインクルードすべきファイルが多数ある場合、インクルードされるファイルには優先順位がある様です。 以下のパスを「追加インクルードディレクトリ」に追加してみてください。 $(VCInstallDir)include;$(VCInstallDir)atlmfc\include;C \WinDDK\7600.16385.0\inc\api;C \WinDDK\7600.16385.0\inc\ddk 参考URL - http //social.msdn.microsoft.com/forums/ja-JP/vcgeneralja/thread/a60f26d8-e09f-4d32-a54f-5ae3f340493a/ http //okwave.jp/qa/q5307092.html 別のエラーですが、こちらも参照ください。 参考URL - http //d.hatena.ne.jp/baby-lon/20091013/1255419595 これはビルド後のファイルのコピーなので、 copy $(TargetPath) $(ProjectDir)\..\ の部分を消してもかまいません。僕は上手く行かなかったので消しましたw Q.DirectX SDKのバージョンはどれを使っていますか?(荒川) 資料のページにあがっている miku-1.0.zip というファイルにあるVC++のプロジェクトファイルですが、 dxerr9.h , dxerr9.lib が見つからない というところでエラーが出ます。 調べてみるとどうやらDirectX SDKのバージョンによって dxerr9.h が DxErr.h に dxerr9.lib が DxErr.lib に なっていたりするようなのですが、 村山君のDirectX SDKのバージョンはいくつでしょうか? ちなみに私は以下のようになっています。 DirectXのバージョン Microsoft DirectX SDK (August 2009) インクルードファイル C \Program Files\Microsoft DirectX SDK (August 2009)\Include ライブラリファイル C \Program Files\Microsoft DirectX SDK (August 2009)\Lib\x86 A.DirectX SDK(November 2008)を使用しています。(村山) 現在のところ、バージョン別による解決方法が見つかっておりません。 おそらくバージョンは統一しますが、今のところは(November 2008) を使用してください。 2009との差はDirec3D10の部分が一部修正されているだけだと思いますので、ファイル名が変わっただけだと思います。 開発はDirect3D9で行おうと思っていますので、DirectX SDK(November 2008)で問題はないと思います。 資料または以下にリンクがあるので、そこからSDKをダウンロードして下さい。 DirectX SDK(November 2008) ダウンロードサイト
https://w.atwiki.jp/arprojectfun/pages/8.html
動画(youtube) @wikiのwikiモードでは #video(動画のURL) と入力することで、動画を貼り付けることが出来ます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_209_ja.html また動画のURLはYoutubeのURLをご利用ください。 =>http //www.youtube.com/ たとえば、#video(http //youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。
https://w.atwiki.jp/arprojectfun/pages/39.html
ノート DirectShow 入門 DirectXで動画像処理を行う方法について、DirectShow を用いて解説する。 DirectShow 入門 MSDNより DirectShowの概要 動画を再生するプログラムを作る はじめての動画処理プログラミングより 動画内の特定のフレームを表示する6章の 602.cpp Webカメラからのキャプチャ6章の 603.cpp, 604.cpp メモのようなもの SampleGrabberをビルドする SampleGrabberでWebカメラから取得した画像をテクスチャとして貼り付ける dxtrans.h が見つからないエラー処理の対処 スプライトを背景として3Dオブジェクトを配置する
https://w.atwiki.jp/arprojectfun/pages/64.html
「Ghost In Fun」についてまとめるページです。 透過PNGの仕様について 2定点の緯度・経度値について キーコマンドについて (2010/10/27 現在)センサー類無効モード (「5」キー)画面に表示されている情報について 操作方法 デバッグモード (「7」キー)画面内に表示されている情報について 操作方法 視点編集モード画面に表示される情報について 操作方法 幽霊編集モード画面に表示される情報について 操作方法 ; 透過PNGの仕様について GIFで表示する透過PNGは下記のように作成してください。 画像サイズ一辺の長さが2のべき乗に成っている正方形ただし一辺の長さは1024以下となること 2定点の緯度・経度値について 基点1のX 140.76696395874023 基点1のY 41.84131405065629 基点2のX 140.76657235622406 基点2のY 41.84145792325755 キーコマンドについて (2010/10/27 現在) 上部の数字キーは主にモード切り替えを行なっています。 センサー類無効モード (「5」キー) モード内での表示される情報、操作について 画面に表示されている情報について amount -- このモード内で値を変動させる際の変動値 gps_buf -- 井上君作成のクラスが返す割合の値(X, Z) gps_raw -- 井上君作成のクラスから取得するGPSの生の値(経度, 緯度) GPS_BASIS_1 -- 基点1の値(経度, 緯度) GPS_BASIS_2 -- 基点2の値(経度, 緯度) ec_ajust -- 電子コンパスの方角の補正値(度数に対して足す値) GhostTrans[0] -- 1体目のゴーストの座標、現在はスカイツリーの座標(X, Y, Z) vecEyePt -- 視点の座標(X, Y, Z) Head, Pitch, Roll -- 方角, 傾斜角度, 回転角度 (全て度数) 操作方法 5 モードのオン/オフ切り替え 3 amountから0.0001を減算 4 amountに0.0001を加算 Q gps_bufのX座標にamountを加算 A gps_bufのX座標からamountを減算 W gps_bufのZ座標にamountを加算 S gps_bufのZ座標からamountを減算 Z 視点を基点1へ移動 X 視点を基点1へ移動 E Headに1を加算 D Headから1を減算 C ec_ajustから1を減算 V ec_ajustに1を加算 Y Pitchに1を加算 H Pitchから1を減算 U Rollに1を加算 J Rollから1を減算 デバッグモード (「7」キー) 汎用的に使用するデバッグのモードです。 画面内に表示されている情報について debug_rad -- スムージングを適用した電子コンパスの方角(ラジアン) debug_dist -- 視点と注視点の距離 ec_roll -- スムージングを適用した電子コンパスのRoll角(ラジアン) ec_pitch -- スムージングを適用した電子コンパスのPitch角(ラジアン) debug_gpsx, ajust -- 補正後のX軸の割合の値, 補正のために加算される値 debug_gpsy, ajust -- 補正後のZ軸の割合の値, 補正のために加算される値 koba -- 0番の幽霊オブジェクトの座標、現在はスカイツリーの座標(X, Y, Z) vecEyePt -- 視点の座標(X, Y, Z) debug_gps_lat -- GPSの生の緯度値 debug_gps_lon -- GPSの生の経度値 ec_ajust -- 電子コンパスの方角の補正値(度数に対して足す値) GPS_BASIS_1 -- 基点1の値(経度, 緯度) GPS_BASIS_2 -- 基点2の値(経度, 緯度) vecLookatPt -- 注視点の座標(X, Y, Z) 操作方法 7 モードのオン/オフ切り替え Q GPS_BASIS_X1に0.000001を加算 A GPS_BASIS_X1から0.000001を減算 Z GPS_BASIS_X1にdebug_gps_lonを設定 W GPS_BASIS_Y1に0.000001を加算 S GPS_BASIS_Y1から0.000001を減算 X GPS_BASIS_Y1にdebug_gps_latを設定 R GPS_BASIS_X2に0.000001を加算 F GPS_BASIS_X2から0.000001を減算 V GPS_BASIS_X2にdebug_gps_lonを設定 T GPS_BASIS_Y2に0.000001を加算 G GPS_BASIS_Y2から0.000001を減算 B GPS_BASIS_Y2 = debug_gps_lat U GPSのクラスが返すX座標の割合に対する補正値に幽霊編集モードのamountを加算 J GPSのクラスが返すX座標の割合に対する補正値から幽霊編集モードのamountを減算 I GPSのクラスが返すZ座標の割合に対する補正値に幽霊編集モードのamountを加算 K GPSのクラスが返すZ座標の割合に対する補正値から幽霊編集モードのamountを減算 視点編集モード 視点、注視点、上方ベクトルについて表示・編集を行なうモードです。 ただし、現在は視点・注視点・上方ベクトルが各種センサからの情報でリアルタイムに上書きされてしまうので、編集機能については事実上無効になっています。 画面に表示される情報について amount -- このモード内で値を変動させる際の変動値 vecEyePt -- 視点の座標(X, Y, Z) vecLookatPt -- 注視点の座標(X, Y, Z) vecUpVec -- 上方ベクトル(X, Y, Z) Last save -- 編集した視点情報を保存した最終日時(「Yet」では未だ保存されていない) 操作方法 8 モードのオン/オフ切り替え 3 amountから0.1を減算 4 amountに0.1を加算 0 視点情報をファイルに保存 Q vecEyePtのX座標にamountを加算 A vecEyePtのX座標からamountを減算 W vecEyePtのY座標にamountを加算 S vecEyePtのY座標からamountを減算 E vecEyePtのZ座標にamountを加算 D vecEyePtのZ座標からamountを減算 R vecLookatPtのX座標にamountを加算 F vecLookatPtのX座標からamountを減算 T vecLookatPtのY座標にamountを加算 G vecLookatPtのY座標からamountを減算 Y vecLookatPtのZ座標にamountを加算 H vecLookatPtのZ座標からamountを減算 U vecUpVecのX座標にamountを加算 J vecUpVecのX座標からamountを減算 I vecUpVecのY座標にamountを加算 K vecUpVecのY座標からamountを減算 O vecUpVecのZ座標にamountを加算 L vecUpVecのZ座標からamountを減算 幽霊編集モード 幽霊オブジェクトの、現在はスカイツリーの回転、座標、スケールを編集するモードです。 画面に表示される情報について amount -- このモード内で値を変動させる際の変動値 Rot -- オブジェクトの回転(X, Y, Z)(それぞれラジアン) Trans -- オブジェクトの座標(X, Y, Z) Scale -- オブジェクトのスケール(X, Y, Z) Last save -- 編集したオブジェクト情報を保存した最終日時(「Yet」では未だ保存されていない) 操作方法 9 モードのオン/オフ切り替え 3 amountから0.1を減算 4 amountに0.1を加算 0 オブジェクト情報をファイルに保存 Q X軸のRotにamountを加算 A X軸のRotからamountを減算 W Y軸のRotにamountを加算 S Y軸のRotからamountを減算 E Z軸のRotにamountを加算 D Z軸のRotからamountを減算 R TransのX座標にamountを加算 F TransのX座標からamountを減算 T TransのY座標にamountを加算 G TransのY座標からamountを減算 Y TransのZ座標にamountを加算 H TransのZ座標からamountを減算 U X軸のScaleにamountを加算 J X軸のScaleからamountを減算 I Y軸のScaleにamountを加算 K Y軸のScaleからamountを減算 O Z軸のScaleにamountを加算 L Z軸のScaleからamountを減算
https://w.atwiki.jp/arprojectfun/pages/74.html
ノート WiFiAPIまとめ inSSIDerについて 概要 inSSIDerはオープンソースでフリーの無線LANロガーのプログラムです。 ManagedWiFiというライブラリを利用しており、これはGPL2.0で公開されているライブラリです。 よって、inSSIDerもオープンソースで公開されています。 ソースコード http //www.metageek.net/svn/Inssider/trunk/ これをSubvertionクライアントで、チェックアウトすると最新の物をダウンロードすることができます。 ManagedWiFi Managed Wifi API NativeWiFiAPPIを使いやすくライブラリ化したもの。C#のライブラリであるが、CGrootを使えば、C++でも扱える。 詳しくは、Exampleの中のソースを見ると良い。ただし、上手く起動できなかった。 参考 inSSIDer ロガーの置いてある本家のサイト the ManagedWifi GPLで公開されているオープンソースなWiFiライブラリ
https://w.atwiki.jp/21silverkeys/pages/45.html
【クラス】 ウォッチャー 【真名】 バネ足ジョップリン@がるぐる! 【パラメーター】 筋力- 耐久- 敏捷- 魔力- 幸運- 宝具E 【属性】 中立・中庸 【マスター】 金木研 【クラススキル】 陣地観測 A 『傍目には魔法のような科学を用いる』キャスターの変則クラスであるウォッチャーは「監視カメラ等の機械で観測されている」場所を自らの陣地として自在に観測を行うことができる。 逆に、それらが存在しない場所に対してウォッチャーは存在そのものが許されない。 但し後述スキル『群体』と後述宝具『呼び声届ける異世界の使者』による特別な観測、干渉は可能とする。 単独観測 B 『電波を飛ばす』アーチャーの変則クラスであるウォッチャーはマスターを失っても数日間、観測を続けることができる。 ウォッチャーは『バネ足ジョップリン』というシステムの起点となった男がこの世を去り、観測の理由がなくなっても観測を行い続けた。 【保有スキル】 分割思考(偽) D 思考中枢を複数分割して行う思考法。『バネ足ジョップリン』の思考中枢は仮想的ではなく実際に複数存在する。 通常よりも高速な思考を行えるが、まとまりのない意見となることもしばしば。 群体 C 『バネ足ジョップリン』とは『脳幹』と呼ばれた中心人物こそいるものの、様々な存在が観測のためだけに集まった一つのシステムである。 よって、このアーカムシティにおいても彼らは紛れ込み、様々な手段を用いて観測し他の『バネ足ジョップリン』たちに情報を供給している可能性がある。 世間話が大好きなお喋りおばちゃんが。様々な事件に首を突っ込む新聞記者が。とあるマフィアの情報部が。ネットサーフィンが大好きな引きこもりが。あなたの部屋の隣人が。 『バネ足ジョップリン』の一員であるという可能性は誰にも否定することが出来ない。 伝説の観測者 A 『バネ足ジョップリン』は己が都市伝説であると同時に伝説を観測する存在でもある。 彼らが認め、あらゆる情報網を利用しアーカムシティに『都市伝説』として広めた存在は、サーヴァントと同レベルの神秘を付与され伝説の担い手となることができる。 代償として『都市伝説』となった存在は他者に『都市伝説』として見られやすくなり、本来の自分とはかけ離れた評判を得てしまう可能性もある。 遠隔存在 EX 『バネ足ジョップリン』の本体である『脳幹』はそもそもこのアーカムシティに存在していない。 彼は電波を、声だけを飛ばしてアーカムシティに干渉する。 よって、通常の手段ではウォッチャーを攻撃することは出来ない。電話の向こうにいる相手には決して拳が届かないように。 【宝具】 『呼び声伝える怪電の波(バネ足ジャック)』 ランク:E 種別:対機宝具 レンジ:∞ 最大補足:1 『ウォッチャー』が観測している地点の電子機器をジャックし彼自身の声を届ける、ただそれだけの宝具。 この宝具を用いることで初めて『ウォッチャー』はアーカムシティに干渉することができる。 また、この宝具によって届けられた声もまた宝具扱いとなるため、彼の声を聞いてしまった者は正気度チェックを行う必要があるものとする。 『呼び声届ける異世界の使者(Mew Mew)』 ランク E 種別 対猫宝具 レンジ:1 最大補足:1 無線を括り付けられた可愛い猫を召喚する、ただそれだけの宝具。 主な使用用途は前述宝具を用いて無線をジャックし、『ウォッチャー』の声を他者に届けること。 この宝具の本質は猫そのものではなく『猫を召喚すること』なので、猫を見ても正気度は減少しないものとする。 つまり、この宝具によって召喚された猫は本物であり生ものでもある。 殺してしまうと死体が残るし、餌をあげれば懐くこともあるだろう。 【weapon】 『ウォッチャー』に攻撃手段は存在しない。 彼らはあくまでも観測者であり傍観者である。 【人物背景】 【とある島内の都市伝説】 【その正体は】【多くの監視カメラと】【無線機による島内の情報把握を行う】【集団だよっ。キャハッ】 【主に観察してっけど】【時に現実に干渉してさ】【誰かを導いたり】【誰かを陥れたり】【誰かを躍らせたり】 【我々は、誰にも情報を漏らさないと思われる人物を仲間に誘うのだよ!】 【バ、バネ足ジョップリンは!と、と、都市伝説であるためにその正体を知られるわけにはいかなくて!だから!僕たちは!ああっ!】 【うぜえ】【死ね】【殺すぞ】【むしろ生きてしまえ】 【我々、アーカムにもいるんですけど、私はあくまでも観測だけを目的としてますんで】【変に深入りして死にたくないしなあ】 【サーヴァントに生身で勝てるわけないし】【干渉はあくまでも脳幹さんに一任ってことで】 【まあ、そういう存在ですよっと】 【サーヴァントとしての願い】 特になし。 しいて言うなら自分を『バネ足ジョップリン』とした男、八房ともう一度会って話したい。 また、自分以外の『伝説』となった人間であるサーヴァントたちにも興味あり。出来れば接触してみたい。 【基本戦術、方針、運用法】 ウォッチャーは戦わない。 彼らはただ情報を集め、情報を用いて、他参加者を面白おかしく躍らせるためだけに存在している。 この物語を『神話』に昇華できれば一番面白いと思っているが、現実への過度ナ干渉は避けル方針。 よってマスターであル金木へのサポートモ極力行うつもリハナイ。 ソレデハ、諸君。 観測ヲ開始シヨウデハナイカ。